//
// Created by Administrator on 2023/8/6.
//
#include <string>
#include <stack>
#include <iostream>

using namespace std;

class Solution {
public:
    int minLength(string s) {
        stack<char> st;
        for (auto &x: s) {
            if (st.empty())
                st.push(x);
            else {
                if (x == 'D' && st.top() == 'C') {
                    st.pop();
                    continue;
                }
                if (x == 'B' && st.top() == 'A') {
                    st.pop();
                    continue;
                } else
                    st.push(x);
            }
        }
//        while (!st.empty()){
//            cout <<st.top() <<endl;
//            st.pop();
//        }
        return st.size();
    }
};

int main() {
    Solution s;
    cout << s.minLength("ABFCACDB") << endl;
    return 0;
}

